This invention relates generally to applications executing on a client device, and more specifically to exchanging information between applications executing on a client device.
Many online systems are associated with applications that execute on client devices to present content from the online systems to users or to communicate information received from users to the online system. For example, an application associated with an online system presents content from the online system and also receives information from the user that is communicated to the online system 140 for storage in association with the user. Presenting and receiving information via an application allows an online system to more frequently and easily communicate with its users.
Many users interact with different online systems through various applications associated with the online systems executing on client devices associated with the user. For example, a client device associated with a user executes an application associated with an online system as well as an additional application associated with an additional online system. The online system and additional online system may have a relationship with each other allowing exchange of information between the online system and the additional online system to increase user interaction with both the online system and the additional online system. For example, the online system may leverage certain information associated with the user by the additional online system when selecting content or providing functionality to the user via the application associated with the online system.
However, different online systems commonly use different information to identify users, with an application associated with an online system using information used by the online system to identify the user. Hence, applications associated with different online systems use different information to identify a user. This use of different identifying information by applications associated with different online systems impairs exchange of information between different applications on a client device. For example, when an application associated with an online system requests information from an additional application that is associated with a different online system, the user of the application is often prompted by the additional application to provide login credentials to allow access to information associated with the user by the online system associated with the additional application. This additional interaction by the user may reduce user interaction with the application or with the additional application.